import http from "../service/http.js"
export const goodModule = {
	state: {
		// bannerList:[
		// 	// 轮播图列表
		// ],
		// goodTypeList:[
		// 	// 主页商品类型列表
		// ],
		// goodCardList:[
		// 	// 主页商品卡片类型列表
		// ],
		// goodList:[
		// 	// 商品列表
		// ]
	},
	mutations: {
		// setGoodTypeList(state, goodTypeList) {
		// 	state.goodTypeList = goodTypeList;
		// },

	},
	getters: {

	},
	actions: {
		getBannerList: async function({
			commit,
			state
		}) {
			// 获取banner轮播图列表
			return await new Promise((resolve, reject) => {

				http.get('/banner/list').then(res => {

					console.log("获取banner轮播图列表成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取banner轮播图列表失败", err)
					reject(err)
				})
			})
		},
		getGoodType: async function({
			commit,
			state
		}) {
			// 获取商品分类列表
			return await new Promise((resolve, reject) => {

				http.get('/category/list').then(res => {

					console.log("获取商品分类成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取商品分类失败", err)
					reject(err)
				})
			})
		},
		getGoodCardList: async function({
			commit,
			state
		}) {
			// 获取商品卡片列表
			return await new Promise((resolve, reject) => {

				http.get('/column/commodity/list').then(res => {

					console.log("获取商品卡片列表成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取商品卡片列表失败", err)
					reject(err)
				})
			})
		},
		getTypeGoodList: async function({
				commit,
				state,

			}, params
			// {
			// 	pageNum //页码
			// 	pageSize //每页数量
			// 	orderByColumn //排序的字段
			// 	isAsc //升序或倒序
			// }
		) {
			// 获取栏目卡片商品列表

			return await new Promise((resolve, reject) => {
				if(params.id)
				http.get(`/commodity/category/${params.id}`, {
					pageNum: params.pageNum, //页码
					pageSize: params.pageSize, //每页数量
					orderByColumn: params.orderByColumn, //排序的字段
					isAsc: params.isAsc, //升序或倒序
				}).then(res => {

					console.log("获取分类商品列表成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取分类商品列表失败", err)
					reject(err)
				})
				
				else
				http.get(`/commodity/all`, {
					pageNum: params.pageNum, //页码
					pageSize: params.pageSize, //每页数量
					orderByColumn: params.orderByColumn, //排序的字段
					isAsc: params.isAsc, //升序或倒序
				}).then(res => {
				
					console.log("获取分类商品列表成功", res)
				
				
					resolve(res)
				
				}).catch(err => {
					console.log("获取分类商品列表失败", err)
					reject(err)
				})
			})
		},
		getColumnGoodList: async function({
				commit,
				state,
			}, params
			// {
			// 	pageNum //页码
			// 	pageSize //每页数量
			// 	orderByColumn //排序的字段
			// 	isAsc //升序或倒序
			// }
		) {
			// 获取栏目卡片商品列表

			return await new Promise((resolve, reject) => {


				http.get(`/commodity/column/${params.id}`, {
					pageNum: params.pageNum, //页码
					pageSize: params.pageSize, //每页数量
					orderByColumn: params.orderByColumn, //排序的字段
					isAsc: params.isAsc, //升序或倒序
				}).then(res => {

					console.log("获取栏目卡片商品列表成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取栏目卡片商品列表失败", err)
					reject(err)
				})
			})
		},
		getCheckGoodHistroy: async function({
			commit,
			state,
		}) {
			// 获取商品浏览记录
			return await new Promise((resolve, reject) => {


				http.get('/commodity/browse/log').then(res => {

					console.log("获取商品浏览记录列表成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取商品浏览记录列表失败", err)
					reject(err)
				})
			})
		},
		clearGoodHistroy: async function({
			commit,
			state
		}) {
			// 清除商品浏览记录
			return await new Promise((resolve, reject) => {
				
				http.post('/commodity/browse/log/remove').then(res => {

					console.log("清除商品浏览记录成功", res)
					// let data = res.data.data

					resolve(res)

				}).catch(err => {
					console.log("清除商品浏览记录失败", err)
					reject(err)
				})
			})
		},
		getGoodDetail: async function({
			commit,
			state,
		}, params) {
			// 获取商品详情
			return await new Promise((resolve, reject) => {


				http.get(`/commodity/${params.id||""}`).then(res => {

					console.log("获取栏目卡片商品详情成功", res)


					resolve(res)

				}).catch(err => {
					console.log("获取栏目卡片商品详情失败", err)
					reject(err)
				})
			})
		},
	}
}

export const goodSearchModule = {
	state: {

		// goodList:[
		// 	// 商品列表
		// ]
	},
	mutations: {
		// setGoodList(state, goodList) {
		// 	state.goodList = goodList;
		// },

	},
	getters: {

	},
	actions: {

		searchGoodList: async function({
				commit,
				state
			}, params
			// {
			//  searchValue //搜索文本
			// 	pageNum //页码
			// 	pageSize //每页数量
			// 	orderByColumn //排序的字段
			// 	asc //升序或倒序
			// }
		) {
			// 搜索商品列表
			return await new Promise((resolve, reject) => {


				http.get("/search", params).then(res => {

					console.log("搜索商品列表成功", res)

					resolve(res)

				}).catch(err => {
					console.log("搜索商品列表失败", err)
					reject(err)
				})
			})
		},
		getSearchHistroy: async function({
			commit,
			state
		}) {
			// 获取用户搜索历史
			return await new Promise((resolve, reject) => {


				http.get("/search/log/list").then(res => {

					console.log("获取用户搜索历史成功", res)

					resolve(res)

				}).catch(err => {
					console.log("获取用户搜索历史失败", err)
					reject(err)
				})
			})
		},
		clearHistroy: async function({
			commit,
			state
		}) {
			// 清除搜索记录
			return await new Promise((resolve, reject) => {
				
				http.post('/search/clear/log').then(res => {

					console.log("清除搜索记录成功", res)
					let data = res.data.data

					resolve(data)

				}).catch(err => {
					console.log("清除搜索记录失败", err)
					reject(err)
				})
			})
		},

	}
}
